/**
 * Created by Administrator on 2018/11/7.
 */
var baseURL = '';
var departmentData;
var statusData;
//强制同步执行
$.ajaxSettings.async = false;
//同步读取jsono文件数据

$.getJSON(baseURL + 'department/list', function(d) {
	departmentData = d;
});
$.getJSON("jsondata/statusData.json", function(d) {
	statusData = d;
});
$.ajaxSettings.async = true;




$(function() {
	//初始化input标签
	//编号  
	$('#input_uid').textbox({
		editable: false
	});
	
	//部门:
	$('#input_depId').combobox({
		//url: baseURL+'department/list',
		data: departmentData,
		valueField: 'departmentId',
		textField: 'name',
		panelHeight: 'auto',
		editable: false
	});
	
	//状态:
	$('#input_status').combobox({
		//url: baseURL+'position/list',
		//method="get",
		data: statusData,
		valueField: 'id',
		textField: 'name',
		panelHeight: 'auto',
		editable: false
	});
	
	$("#input_createDate").datebox({
		editable:false
	});

	


	// 初始化分页表格
	$('#dg').datagrid({
		url: baseURL + 'user/list',
		//读取本地json文件，必须使用设置为get请求模式,
		method: 'get', //这个是最重要的，不写这个table加载不出来
		// title : '用户表',
		fitColumns: true,
		//固定表头 生成滚动条
		fit: true,
		striped: true,
		loadMsg: '数据加载中.....',
		singleSelect: true,
		loadFilter: function(data) {
			return loadFilter(data); //自定义过滤方法
		},
		columns: [
			[{
					field: 'uid',
					title: 'id',
					width: 100,
					checkbox: true,
				}, 
				{
					field: 'depId',
					title: '所在部门',
					width: 100,

				},
				{
					field: 'name',
					title: '员工姓名',
					width: 100,
				},
				{
					field: 'userName',
					title: '账户',
					width: 100,

				},
				{
					field: 'userPwd',
					title: '密码',
					width: 100,
				},
				{
					field: 'createDate',
					title: '创建时间',
					width: 100,
				},
				{
					field: 'status',
					title: '状态',
					width: 100,
				},
			]
		],
		pagination: true,
		rownumbers: true,
		pageSize: 20,
		toolbar: '#tb'

	});

	// 初始化对话窗口
	$('#dlg').dialog({
		title: '用户窗口',
		closed: true,
		buttons: '#dlg-buttons',
		modal: true,
	});

	// 重新加载对话窗口
	$.parser.parse($("#dlg").parent());
});




//过滤后端传递到前端的值 
function loadFilter(data) {



	for (i = 0; i < data.rows.length; i++) {
		//处理部门id 
		if (data.rows[i].depId != null) {
			data.rows[i].depId = departmentData[data.rows[i].depId - 1].name;
		}
		
		
		
		//处理创建时间
		if (data.rows[i].createDate != null) {
			// 对于json格式的日期的转换 1446393600000 
			var date = new Date(data.rows[i].createDate);
			var y = date.getFullYear();
			var m = date.getMonth() + 1;
			var d = date.getDate();
			// 转换成String类型的yyyy-MM-dd
			var time = y + '-' + m + '-' + d;
			data.rows[i].createDate = time;

		}

		//预处理状态
		if (data.rows[i].status != null) {
			data.rows[i].status = statusData[data.rows[i].status - 1].name;
		}

	}


	var pageSize = $('#dg').datagrid('getPager').data("pagination").options.pageSize;
	//不足pageSize大小填充空白数据项
	while (data.rows.length < pageSize) {
		data.rows.push({});
	}

	return data;
}






// 修改
function update() {
	//得到要修改的一行
	var selectRows = $('#dg').datagrid('getSelected');

	// selectRows.sex 得到一个的某个值

	if (selectRows) {


		//员工号设置为只读，但又能提交到后台
		$("#input_uid").attr("readonly", true);
		//$('#input_employeeId').attr('disabled', true);
		//div-显示
		$('#div_userId').show();

		//创建时间-可用
		$("#input_createDate").datebox({
			disabled: false
		});
		$('#div_createDate').show();

		$('#dlg').dialog('open').dialog('setTitle', '编辑');



		//把选中的一行加载到	
		$('#fm').form('load', selectRows);

		//重置DirtyFileds数据
		$('#fm').form('resetDirty');



	} else {
		$.messager.alert("系统提示", "请选择一条要修改的数据！");
	}

}





// 添加
function add() {
	//编号设置不可修改
	$('#input_uid').attr('disabled', true);
	//div隐藏
	$('#div_userId').hide();

	//创建时间可用
	$("#input_createDate").datebox({
		disabled: false
	});

	//$("#form_termDate").css("display","none");
	$('#dlg').dialog('open').dialog('setTitle', '新增');
	$('#fm').form('clear');
	$('#fm').form('resetDirty');


}

// 保存按钮的动作
function save() {
	var operation = '';
	// console.log($('#dlg').panel('options'));
	//新增还编辑
	if (($('#dlg').panel('options').title) == '编辑') {
		operation = 'modif';
	} else {
		operation = 'add';
	}

	$('#fm').form('submit', {
		url: baseURL + 'user/' + operation,
		//只提交改变的字段的信息
		dirty: true,
		queryParams: {
			'uid': $('#input_uid').textbox('getValue')
		},
		onSubmit: function(data) {
			//进行表单验证  如果返回false阻止提交  	

			return $(this).form('validate');
		},

		success: function(str) {
			return MyResultFunction(str);
		}

	});

}

//刷新
function reload() {
	$('#dg').datagrid('reload');
}




function del() {
	var rows = $('#dg').datagrid('getSelections');
	if (rows.length > 0) {
		$.messager.confirm('确认操作', '你真的要删除当前选中的条记录吗?', function(r) {
			if (r) {
				// 得到删除的的记录id
				var ids = [];
				for (var i = 0; i < rows.length; i++) {
					ids.push(rows[i].uid);
				}
				// Ajax请求
				$.post(baseURL + 'user/remove', {
					ids: ids.join(','),
				}, function(result) {
					return MyResultFunction(result);
				}, 'text');
			}
		});
	}
}

// 查询
function findPage() {
	// 添加多项查询条件选项
	var p = new Object();
	if ($.trim($('input[name="userName"]').val()) != "") {
		p['name'] = $.trim($('input[name="userName"]').val());
	}

	alert(p);
	$('#dg').datagrid('load', p);

}


//index查找 json数组中查找指定的元素并返回index
function findFirstIndex(arrjson, text) {
	// 若元素不存在在数组中返回-1
	let firstVal = -1;
	for (let i = 0; i < arrjson.length; i++) {

		if (arrjson[i].name == text) {
			firstVal = i + 1;
			return firstVal;
			break;
		}
	}
	return firstVal;
}


function MyResultFunction(str) {
	//对后端后回的结果处理
	try {
		//由JSON字符串转换为JSON对象

		var data = JSON.parse(str);
		//alert(data.code);
		if (data.code != 200) {
			//处理后台返回错误信息
			$.messager.show({
				title: 'Error',
				msg: data.message
			});
		} else {
			//处理后台返回正确信息
			$.messager.show({
				title: 'OK',
				msg: data.message
			});
			$('#dlg').dialog('close');
			$('#dg').datagrid('reload');
		}
	} catch (err) {
		$.messager.show({
			title: 'Error',
			msg: "操作失败！ 数据非法错误"
		});
		console.log(err)
		console.log(err.message);
	}


}
